The parser got its chars mixed up while parsing numbers
like 2.3e-04. While it is unlikely to meet such numbers
in human-generated css, we do have them e.g. when saving
render node trees with transforms.
Also add some css parser tests for number parsing.
}
}
- if (data + 1 < tokenizer->end && (*data == 'e' || *data == 'E') &&
- (g_ascii_isdigit (data[1]) ||
- (data + 2 < tokenizer->end && (data[1] == '+' || data[2] == '-') && g_ascii_isdigit (data[2]))))
+ if (data + 1 < tokenizer->end && (*data == 'e' || *data == 'E') &&
+ (g_ascii_isdigit (data[1]) ||
+ (data + 2 < tokenizer->end && (data[1] == '+' || data[1] == '-') && g_ascii_isdigit (data[2]))))
{
is_int = FALSE;
data++;
- exponent = g_ascii_digit_value (*data);
if (*data == '-')
{
--- /dev/null
+a {
+ -gtk-dpi: 0;
+}
+
+b {
+ -gtk-dpi: 100;
+}
+
+c {
+ -gtk-dpi: -39;
+}
+
+d {
+ -gtk-dpi: 0.5;
+}
+
+e {
+ -gtk-dpi: 2.6e2;
+}
+
+f {
+ -gtk-dpi: 2.6E20;
+}
+
+g {
+ -gtk-dpi: 5e-1;
+}
+
+h {
+ -gtk-dpi: 2E-19;
+}
--- /dev/null
+a {
+ -gtk-dpi: 0;
+}
+
+b {
+ -gtk-dpi: 100;
+}
+
+c {
+ -gtk-dpi: -39;
+}
+
+d {
+ -gtk-dpi: 0.5;
+}
+
+e {
+ -gtk-dpi: 260;
+}
+
+f {
+ -gtk-dpi: 2.6e+20;
+}
+
+g {
+ -gtk-dpi: 0.5;
+}
+
+h {
+ -gtk-dpi: 2e-19;
+}